PreviousNextTracker indexSee it online !

(253/308) 1777 - ProjectViewer: Compact or Filtered View + "Follow Active Buffer in Tree"

Steps to reproduce: check the option "follow active buffer in tree"
under projectviewer - general.

open some files
switch to compact or filtered view
switch between open buffers.

If the file extension isn't among the list of filters, you always get IllegalArgumentException. You sometimes get it even if it is in the filtered view.

~~~~
java.lang.IllegalArgumentException: path in TreePath must be non null and not empty.
at javax.swing.tree.TreePath.<init>(TreePath.java:102)
at projectviewer.PVActions.focusActiveBuffer(PVActions.java:240)
at projectviewer.ProjectViewer.handleEditPaneUpdate(ProjectViewer.java:1200)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gjt.sp.jedit.EditBus.dispatch(EditBus.java:242)
at org.gjt.sp.jedit.EditBus.sendImpl(EditBus.java:281)
at org.gjt.sp.jedit.EditBus.access$200(EditBus.java:87)
at org.gjt.sp.jedit.EditBus$SendMessage.run(EditBus.java:461)
at org.gjt.sp.jedit.EditBus.send(EditBus.java:206)
at org.gjt.sp.jedit.EditPane.setBuffer(EditPane.java:187)
at org.gjt.sp.jedit.EditPane.setBuffer(EditPane.java:139)
at buffertabs.BufferTabs$ChangeHandler.stateChanged(BufferTabs.java:535)
at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:416)
at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:270)
at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:132)
at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:67)
at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:616)
at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:591)
at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:3644)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279)
at java.awt.Component.processMouseEvent(Component.java:6502)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4489)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)
~~~~

Submitted ezust - 2014-03-24 22:32:55.043000 Assigned
Priority 5 Labels ProjectViewer
Status open Group
Resolution None

Comments

2014-03-24 22:37:02.869000
ezust

- **summary**: ProjectViewer: Filtered View + "Follow Active Buffer in Tree" --> ProjectViewer: Compact or Filtered View + "Follow Active Buffer in Tree"
- Description has changed:

Diff:

~~~~

--- old
+++ new
@@ -2,8 +2,8 @@
under projectviewer - general.

open some files
-switch to filtered view
-toggle between them.
+switch to compact or filtered view
+switch between open buffers.

If the file extension isn't among the list of filters, you always get IllegalArgumentException. You sometimes get it even if it is in the filtered view.


~~~~

- **Group**: -->

2014-03-24 22:38:00.869000
ezust

from Compact view, you get a different exception:

~~~~ java.lang.ClassCastException: projectviewer.vpt.VPTFile cannot be cast to projectviewer.vpt.VPTCompactModel$CompactDirectoryNode
at projectviewer.vpt.VPTCompactModel.getPathToRoot(VPTCompactModel.java:111)
at projectviewer.PVActions.focusActiveBuffer(PVActions.java:239)
at projectviewer.ProjectViewer.handleEditPaneUpdate(ProjectViewer.java:1200)
at sun.reflect.GeneratedMethodAccessor54.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.gjt.sp.jedit.EditBus.dispatch(EditBus.java:242)
at org.gjt.sp.jedit.EditBus.sendImpl(EditBus.java:281)
at org.gjt.sp.jedit.EditBus.access$200(EditBus.java:87)
at org.gjt.sp.jedit.EditBus$SendMessage.run(EditBus.java:461)
at org.gjt.sp.jedit.EditBus.send(EditBus.java:206)
at org.gjt.sp.jedit.EditPane.setBuffer(EditPane.java:187)
at org.gjt.sp.jedit.EditPane.setBuffer(EditPane.java:139)
at buffertabs.BufferTabs$ChangeHandler.stateChanged(BufferTabs.java:535)
at javax.swing.JTabbedPane.fireStateChanged(JTabbedPane.java:416)
at javax.swing.JTabbedPane$ModelListener.stateChanged(JTabbedPane.java:270)
at javax.swing.DefaultSingleSelectionModel.fireStateChanged(DefaultSingleSelectionModel.java:132)
at javax.swing.DefaultSingleSelectionModel.setSelectedIndex(DefaultSingleSelectionModel.java:67)
at javax.swing.JTabbedPane.setSelectedIndexImpl(JTabbedPane.java:616)
at javax.swing.JTabbedPane.setSelectedIndex(JTabbedPane.java:591)
at javax.swing.plaf.basic.BasicTabbedPaneUI$Handler.mousePressed(BasicTabbedPaneUI.java:3644)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279)
at java.awt.AWTEventMulticaster.mousePressed(AWTEventMulticaster.java:279)
at java.awt.Component.processMouseEvent(Component.java:6502)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3311)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4489)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

~~~~